Exemplary embodiments of the present invention relate to web services, and more particularly, to information mashups integrating data returned by multiple web pages.
Advances or changes in how enterprises conduct business continuously occur due to, for example, growing competition and globalization, mergers and acquisition, or business model revamping. Successful advances and changes often depend on how well an enterprise's information technology (IT) organization adapts to evolving needs. Because of the need to keep pace with the requirements imposed by this constant state of change, an increasing number of modern IT systems are implemented as aspects of Service Oriented Architectures (SOA) that rely on flexible building blocks in the form of “services” to expose their functionality. A service, such as a web service, may be implemented as a software application that may be called by another application to provide a service over a network, such as the Internet. A service represents a self-contained, self-describing piece of application functionality that can be found and called by other applications. A service may be self-contained because the application calling the service does not need to depend on anything other than the service itself, and may be self-describing because all the information on how to use the service can be obtained from the service itself. To interact with a service, a client system may make a call, such as a Simple Object Access Protocol (SOAP) call, to the service. The call may include sending a message, such as a SOAP message formatted in accordance with a WSDL (Web Services Definition Language) document describing the service.
The flexible infrastructure provided by SOA breaks applications down into component services and then enables these services to be joined together as composite applications that can be rapidly constructed to meet the needs of changing requirements. Because organizations are discovering the larger impact their information architectures have on the success of their SOA projects, an increasing number of SOA services are being implemented to provide retrieval of information as a service. SOA web services of this type can implemented to provide access to virtually all forms of information such as, for example, system states, monitoring data, and enterprise data in general. Such information retrieving services are known as information services.
To be utilized effectively, information in all forms and from all sources (including structured information residing in application databases, and unstructured information in e-mails, documents, specifications, and other sources) should be complete, accurate, and consistently available. Accordingly, the retrieved information that is returned from web service calls made to information services need to be provided in a meaningful context. To this end, information that is retrieved from multiple disparate information services can be integrated into a single view known as an “information mashup” in which the retrieved information is presented in the form of dynamically generated HyperText Markup Language (HTML) documents that can accessed via a web browser.
Presently, there are several technologies that can be employed to support the creation of information mashups that integrate the retrieved information returned from web service calls to information services such as Model-View-Controller (MVC) frameworks, portal frameworks, and other custom solutions implemented by developers. For example, one common technology utilized for implementing a web based information mashup involves the usage of a middle tier. A middle tier, usually an application server or some sort of portal server, receives the information request from a user, makes the necessary web service calls associated with the mashup, retrieves the output from these calls, and generates a composed view (HTML page) that is sent back to the user's web browser. More recently, with the advent of sophisticated third-party JavaScript libraries that support asynchronous, Extensible Markup Language (XML)-based data exchange from within a web page, a middle tier is not necessary. In particular, JavaScript libraries that support the consumption of web services directly out of a web page are used. To utilize the functionality of those JavaScript libraries, the developer of a mashup web page must write JavaScript code. Each of the present approaches employed to support the creation of information mashups, however, requires an extensive amount of manual code generation, error-prone custom coding, time-consuming infrastructure setup, and additional configuration implementation on both the server-side and the client-side.